package com.achievement.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * ReportDTO
 */

@Data
@ApiModel(value = "新增研究报告信息")
public class ReportDTO {

    /**
     * ID
     */
    @ApiModelProperty(value = "ID")
    private String id;

    /**
     * 报告题目
     */
    @ApiModelProperty(value = "报告题目")
    private String name;

    /**
     *  typeId
     */
    @ApiModelProperty(value = "typeId")
    private String typeId;

    /**
     * 所属单位
     */
    @ApiModelProperty(value = "所属单位")
    private String unitId;

    /**
     * 提交日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "提交日期")
    private Date submitDate;

    /**
     * 提交单位
     */
    @ApiModelProperty(value = "提交单位")
    private String submitUnit;

    /**
     * 是否被采纳
     */
    @ApiModelProperty(value = "是否被采纳")
    private String isAccept;

    /**
     * 采纳对象
     */
    @ApiModelProperty(value = "采纳对象")
    private String acceptObject;

    /**
     * 学科门类
     */
    @ApiModelProperty(value = "学科门类")
    private String subjectClassId;

    /**
     * 一级学科
     */
    @ApiModelProperty(value = "一级学科")
    private String subjectId;

    /**
     * 项目来源
     */
    @ApiModelProperty(value = "项目来源")
    private String projectSourceId;

    /**
     * 总字数
     */
    @ApiModelProperty(value = "总字数")
    private BigDecimal wordNumber;

    /**
     * 学校署名
     */
    @ApiModelProperty(value = "学校署名")
    private String schoolSign;

    /**
     * 报告电子版
     */
    @ApiModelProperty(value = "报告电子版")
    private String fileIds;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String note;

    /**
     * 第一作者id
     */
    @ApiModelProperty(value = "第一作者id")
    private String firstAuthorId;

    /**
     * 第一作者名称
     */
    @ApiModelProperty(value = "第一作者名称")
    private String firstAuthorName;

    /**
     * 第一作者职工号
     */
    @ApiModelProperty(value = "第一作者职工号")
    private String firstAuthorAccount;

    /**
     * 第一作者职称
     */
    @ApiModelProperty(value = "第一作者职称")
    private String firstAuthorTitleId;

    /**
     * 第一作者性别
     */
    @ApiModelProperty(value = "第一作者性别")
    private String firstAuthorSexid;

    /**
     * 第一作者学历
     */
    @ApiModelProperty(value = "第一作者学历")
    private String firstAuthorEduLevelId;

    /**
     * 第一作者学位id
     */
    @ApiModelProperty(value = "第一作者学位id")
    private String firstAuthorEduDegreeId;

    /**
     * 所属院系
     */
    @ApiModelProperty(value = "所属院系")
    private String divisionId;

    /**
     * authorNumber
     */
    @ApiModelProperty(value = "authorNumber")
    private Integer authorNumber;

    /**
     * 审核状态
     */
    @ApiModelProperty(value = "审核状态")
    private String checkstatus;

    /**
     * 审核日期
     */
    @ApiModelProperty(value = "审核日期")
    private String checkdate;

    /**
     * 审核人
     */
    @ApiModelProperty(value = "审核人")
    private String checker;


    /**
     * authorpids
     */
    @ApiModelProperty(value = "authorpids")
    private String authorpids;

    /**
     * authorunitids
     */
    @ApiModelProperty(value = "authorunitids")
    private String authorunitids;

    /**
     * completedatastatus
     */
    @ApiModelProperty(value = "completedatastatus")
    private String completedatastatus;

    /**
     * 研究报告作者信息列表
     */
    @ApiModelProperty(value = "学术著作作者信息列表")
    private List<ReportAuthorDTO> authorList;

    @ApiModelProperty(value = "提交类型 -> -1:暂存,1:提交,2:保存并通过")
    private Integer submitType;

    private Boolean isAuditor;

    private String taskId;
}
